Typically, each user requires one thin client machine, generally connected to several input and output devices for their computing needs. Such a system limits one user to be working on one thin client machine at any given point in time. The number of thin clients that are required by the customer may thus be the maximum number of simultaneous users required by the customer at any given point in time. In case of users requiring a small amount of computational time, for example, where the user may be using the thin client mainly to connect to one single remote session, the thin client machine and its software is not used at its capacity. In particular, for customers like school labs, providing individual thin client machines for every student may be too costly for their budgets.